#ifndef OBJECT_H
#define OBJECT_H

class Vector;
class AnimationSprite;
class Rect;

class Object
{
protected:
	Rect* rect;
	int classID;
	int state;
	AnimationSprite* aniSprite;
public:
	Vector* pos;
	int width;
	int height;

	Object();
	Object(float x, float y, int width, int height, int classID);
	void UpdateRect();
	virtual void Update(){};
	virtual void Render(){};
	virtual void TouchUp(int x, int y){};
	virtual void TouchDown(int x, int y){};
	virtual void TouchMove(int x, int y){};
	virtual void SetState(int state){};
	virtual ~Object();

	Rect* GetRect(){return rect;}
	int GetClassID(){return classID;}
	int GetState(){return state;}
	Vector* GetPos(){return pos;}
};

#endif